﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Configuration;
using System.Globalization;
using ClassFolio.Model;

namespace ClassFolio
{
	/// <summary>
	/// Класс работает с действиями назначенными пользователю.
	/// Набор назначенных действий получается из базы данных и сохраняется в индексаторе класса. 
	/// </summary>
	public class Actions
	{
		public int this[string propertyName]
		{
			get
			{
				try
				{
					return _usersAction.Where(i => i.Name == propertyName).ElementAt(0).ID;
				}
				catch (Exception err)
				{
					throw new EFolio(0, MessageType.AllertLog, Messages.um_fail_right, err);
				}
			}
		}
		public void Clear()
		{
			this._usersAction.Clear();	
		}
		public void Add(UsersAction userAction)
		{
			this._usersAction.Add(userAction);

		}
		public void AddRange(IEnumerable<UsersAction> usersAction)
		{
			this._usersAction.AddRange(usersAction);
		}

		public static Actions Default 
		{ 
			get 
			{
				if (_action == null)
					_action = new Actions();
				return _action; 
			} 
		}

		private List<UsersAction> _usersAction = new List<UsersAction>();
		private static Actions _action;
	}
}
